var contextPath="/hdhealth";//部署目录
var serverPath="";//前端和服务分开部署时使用，同一容器部署时用空
var _height = window.screen.height;  
var _width = window.screen.width; 
_height=_height-210;
_width = _width-320;
var _pageSize = 10;//每页条数
//document.write("<div id='loading' class='loading2' style='display:none'><img border='0' src='../images/loading.gif'/></div>");
var ajaxnum=0;
//function waitindex(){
var permissionlist="";

//扩展验证
$.extend($.fn.validatebox.defaults.rules, {
  idcard : {// 验证身份证 
        validator : function(value) { 
            return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value); 
        }, 
        message : '身份证号码格式不正确' 
    },
      minLength: {
        validator: function(value, param){
            return value.length >= param[0];
        },
        message: '请输入至少（2）个字符.'
    },
    length:{validator:function(value,param){ 
        var len=$.trim(value).length; 
            return len>=param[0]&&len<=param[1]; 
        }, 
            message:"输入内容长度必须介于{0}和{1}之间." 
        }, 
        //ilength,调查输入大小验证
    ilength:{validator:function(value,param){ 
       		if(param[0]!=null && param[1]!=null){
            return parseInt(value)>=param[0]&&parseInt(value)<=param[1]; 
            }else if(param[0]!=null){
            return parseInt(value)>=param[0]; 
            }else if(param[1]!=null){
            return parseInt(value)<=param[1]; 
            }else{
            	return true;
            }
        }, 
            message:"输入值必须介于{0}和{1}之间." 
        }, 
    phone : {// 验证电话号码 
        validator : function(value) { 
            return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value); 
        }, 
        message : '格式不正确,请使用下面格式:020-88888888' 
    }, 
    regname : {// 验证姓名 
        validator : function(value) { 
	        if((escape(value).length-value.length)/5+value.length<11)
	        {
            return true; 
            }else{
            return false;
            }
        }, 
        message : '姓名不能超过5个中文，10个英文！' 
    }, regtall : {// 验证身高 
        validator : function(value) { 
	        if(/^[+]?[1-9]+\d*$/i.test(value))
	        {
	        	if(value>250 || value<50){
	        		return false;
	        	}else{
	        		return true;
	        	}
            
            }else{
            	return false;
            }
        }, 
        message : '身高为50到250之间的整数！' 
    },
    checkno : {// 验证验证码
        validator : function(value) { 
        
        value = value+'';
	        if(/^[+]?[0-9]+\d*$/i.test(value))
	        {
	       
	        	if(value.length!=6){
	        		return false;
	        	}else{
	        		return true;
	        	}
            
            }else{
            	return false;
            }
        }, 
        message : '输入手机上收到的6位验证码！' 
    },
    timecheck : {// 时间输入验证
        validator : function(value) { 
        if(value.indexOf(":")>0){
        try{
        var values =value.split(":");
        var h=values[0];
        var mm=values[1];
        
	        if(parseInt(h)>=0 && parseInt(h)<24){
	        	if(parseInt(mm)>=0 && parseInt(mm)<60){
	        		return true;
	        	}else{
	        	return false;
	        	} 
	        }else{
	        	return false;
	        } 
	      }catch(e){return false;}
        }else{
        	return false;
        }
	        
        }, 
        message : '请输入hh:mm格式的24小时制时间！' 
    },
     nianxian : {// 验证糖尿病年限 
        validator : function(value,param) { 
        
	        var temp = $("#birthday").datebox('getValue') ;
	       
	        if(temp!='' && /^\d+(\.\d+)?$/i.test(value)){
	        	try{
	        	
	        	if((new Date()).getTime()-parseDate(temp).getTime()<value*365*24*60*60*1000){
	        		return false;
	        	}else{
	        		return true;
	        	}
	        	}catch(e){alert(e);return false;}
	        }else{
	        	return false;
	        }
        }, 
        message : '请正确输入出生日期或年限！' 
    },
    mobile : {// 验证手机号码 
        validator : function(value) { 
            return /^(13|15|18)\d{9}$/i.test(value); 
        }, 
        message : '手机号码格式不正确' 
    }, 
    intOrFloat : {// 验证整数或小数 
        validator : function(value) { 
            return /^\d+(\.\d+)?$/i.test(value); 
        }, 
        message : '请输入数字，并确保格式正确' 
    }, 
    bloodGlucose : {// 验证血糖 
        validator : function(value) { 
            return /^\d+(\.\d+)?$/i.test(value) && value<=40 && value>=0; 
        }, 
        message : '请输入数字，并确保格式正确,在0-40之间' 
    }, 
    TC : {// 总胆固醇 
        validator : function(value) { 
            return /^\d+(\.\d+)?$/i.test(value) && (value<=5.18 && value>=0||value<=200 && value>=0); 
        }, 
        message : '请输入数字，并确保格式正确,在<5.18mmol/L或者<200mg/dL之间' 
    },
    TG : {// 甘油三酯
        validator : function(value) { 
            return /^\d+(\.\d+)?$/i.test(value) && (value<=1.70 && value>=0||value<=150 && value>=0);
        }, 
        message : '请输入数字，并确保格式正确,在≥ 1.04mmol/L或者<150mg/dL之间' 
    },
    HDL : {// 高密度脂蛋白
        validator : function(value) { 
            return /^\d+(\.\d+)?$/i.test(value) && (value>=1.04||value>=40); 
        }, 
        message : '请输入数字，并确保格式正确,在≥ 1.04mmol/L或者 ≥ 40mg/dL之间' 
    },
    LDL : {// 低密度脂蛋白
        validator : function(value) { 
            return /^\d+(\.\d+)?$/i.test(value) && (value>=1.04||value>=40); 
        }, 
        message : '请输入数字，并确保格式正确,在< 3.37mmol/L或者  <130mg/dL之间' 
    },
    systolic : {// 验证收缩压 
        validator : function(value) { 
            return /^[+]?[1-9]+\d*$/i.test(value) && value<=300 && value>=0; 
        }, 
        message : '请输入整数，收缩压：0-300' 
    }, 
    diastolic : {// 验证舒张压 
        validator : function(value) { 
            return /^[+]?[1-9]+\d*$/i.test(value) && value<=150 && value>=0; 
        }, 
        message : '请输入整数，舒张压：0-150' 
    }, 
    heartRate : {// 验证心率 
        validator : function(value) { 
            return /^[+]?[1-9]+\d*$/i.test(value) && value<=300 && value>=0; 
        }, 
        message : '数据超出人体可能出现的数据范围，请重新录入数据' 
    }, 
    weight : {// 验证体重 
        validator : function(value) { 
             return /^\d+(\.\d+)?$/i.test(value) && value<=400 && value>=0; 
        }, 
        message : '数据超出人体可能出现的数据范围，请重新录入数据' 
    }, 
    currency : {// 验证货币 
        validator : function(value) { 
            return /^\d+(\.\d+)?$/i.test(value); 
        }, 
        message : '货币格式不正确' 
    }, 
    qq : {// 验证QQ,从10000开始 
        validator : function(value) { 
            return /^[1-9]\d{4,9}$/i.test(value); 
        }, 
        message : 'QQ号码格式不正确' 
    }, 
    integer : {// 验证整数 
        validator : function(value) { 
            return /^[+]?[0-9]+\d*$/i.test(value); 
        }, 
        message : '请输入整数' 
    }, 
    age : {// 验证年龄
        validator : function(value) { 
            return /^(?:[1-9][0-9]?|1[01][0-9]|120)$/i.test(value); 
        }, 
        message : '年龄必须是0到120之间的整数' 
    }, 
    
    chinese : {// 验证中文 
        validator : function(value) { 
            return /^[\Α-\￥]+$/i.test(value); 
        }, 
        message : '请输入中文' 
    }, 
    english : {// 验证英语 
        validator : function(value) { 
            return /^[A-Za-z]+$/i.test(value); 
        }, 
        message : '请输入英文' 
    }, 
    pinyin : {// 验证拼音
        validator : function(value) { 
            return /^[A-Za-z]+$/i.test(value); 
        }, 
        message : '请输入拼音' 
    }, 
    unnormal : {// 验证是否包含空格和非法字符 
        validator : function(value) { 
            return /.+/i.test(value); 
        }, 
        message : '输入值不能为空和包含其他非法字符' 
    }, 
    username : {// 验证用户名 
        validator : function(value) { 
            return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value); 
        }, 
        message : '用户名不合法（字母开头，允许6-16字节，允许字母数字下划线）' 
    }, 
    faxno : {// 验证传真 
        validator : function(value) { 
//            return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/i.test(value); 
            return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value); 
        }, 
        message : '传真号码不正确' 
    }, 
    zip : {// 验证邮政编码 
        validator : function(value) { 
            return /^[1-9]\d{5}$/i.test(value); 
        }, 
        message : '邮政编码格式不正确' 
    }, 
    ip : {// 验证IP地址 
        validator : function(value) { 
            return /d+.d+.d+.d+/i.test(value); 
        }, 
        message : 'IP地址格式不正确' 
    }, 
    name : {// 验证姓名，可以是中文或英文 
            validator : function(value) { 
                return /^[\Α-\￥]+$/i.test(value)|/^\w+[\w\s]+\w+$/i.test(value); 
            }, 
            message : '请输入姓名' 
    },
    date : {// 验证姓名，可以是中文或英文 
        validator : function(value) { 
         //格式yyyy-MM-dd或yyyy-M-d
            return /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/i.test(value); 
        },
        message : '请输入正确的日期格式'
    },
    msn:{ 
        validator : function(value){ 
        return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value); 
    }, 
    message : '请输入有效的msn账号(例：abc@hotnail(msn/live).com)' 
    },
    same:{ 
        validator : function(value, param){ 
            if($("#"+param[0]).val() != "" && value != ""){ 
                return $("#"+param[0]).val() == value; 
            }else{ 
                return true; 
            } 
        }, 
        message : '两次输入的密码不一致！'    
    } 
});

UrlParm = function() { // url参数
  var data, index;
  (function init() {
    data = [];
    index = {};
    var u = window.location.search.substr(1);
    if (u != '') {
      var parms = decodeURIComponent(u).split('&');
      for (var i = 0, len = parms.length; i < len; i++) {
        if (parms[i] != '') {
          var p = parms[i].split("=");
          if (p.length == 1 || (p.length == 2 && p[1] == '')) {
            data.push(['']);
            index[p[0]] = data.length - 1;
          } else if (typeof(p[0]) == 'undefined' || p[0] == '') {
            data[0] = [p[1]];
          } else if (typeof(index[p[0]]) == 'undefined') { // c=aaa
            data.push([p[1]]);
            index[p[0]] = data.length - 1;
          } else {// c=aaa
            data[index[p[0]]].push(p[1]);
          }
        }
      }
    }
  })();
  return {
    // 获得参数,类似request.getParameter()
    parm : function(o) { // o: 参数名或者参数次序
      try {
        return (typeof(o) == 'number' ? data[o][0] : data[index[o]][0]);
      } catch (e) {
      }
    },
    //获得参数组, 类似request.getParameterValues()
    parmValues : function(o) { //  o: 参数名或者参数次序
      try {
        return (typeof(o) == 'number' ? data[o] : data[index[o]]);
      } catch (e) {}
    },
    //是否含有parmName参数
    hasParm : function(parmName) {
      return typeof(parmName) == 'string' ? typeof(index[parmName]) != 'undefined' : false;
    },
    // 获得参数Map ,类似request.getParameterMap()
    parmMap : function() {
      var map = {};
      try {
        for (var p in index) {  map[p] = data[index[p]];  }
      } catch (e) {}
      return map;
    }
  }
}();

jQuery.extend(
 {
  /**
   * @see  将json字符串转换为对象
   * @param   json字符串
   * @return 返回object,array,string等对象
   */
  evalJSON : function (strJson)
  {
   return eval( "(" + strJson + ")");
  }
 });
 jQuery.extend(
 {
  /**
   * @see  将javascript数据类型转换为json字符串
   * @param 待转换对象,支持object,array,string,function,number,boolean,regexp
   * @return 返回json字符串
   */
  toJSON : function (object)
  {
   var type = typeof object;
   if ('object' == type)
   {
    if (Array == object.constructor)
     type = 'array';
    else if (RegExp == object.constructor)
     type = 'regexp';
    else
     type = 'object';
   }
      switch(type)
   {
         case 'undefined':
       case 'unknown': 
     return;
     break;
    case 'function':
       case 'boolean':
    case 'regexp':
     return object.toString();
     break;
    case 'number':
     return isFinite(object) ? object.toString() : 'null';
       break;
    case 'string':
     return '"' + object.replace(/(\\|\")/g,"\\$1").replace(/\n|\r|\t/g,
       function(){   
                 var a = arguments[0];                   
        return  (a == '\n') ? '\\n':   
                       (a == '\r') ? '\\r':   
                       (a == '\t') ? '\\t': ""  
             }) + '"';
     break;
    case 'object':
     if (object === null) return 'null';
        var results = [];
        for (var property in object) {
          var value = jQuery.toJSON(object[property]);
          if (value !== undefined)
            results.push(jQuery.toJSON(property) + ':' + value);
        }
        return '{' + results.join(',') + '}';
     break;
    case 'array':
     var results = [];
        for(var i = 0; i < object.length; i++)
     {
      var value = jQuery.toJSON(object[i]);
           if (value !== undefined) results.push(value);
     }
        return '[' + results.join(',') + ']';
     break;
      }
  }
 });
 
 function ShowDiv() {
     $("#loading").show();
    
 }
 function HiddenDiv() {
     $("#loading").hide();
 }
 /**
  * 调用Ajax
  * @param urlStr_ 访问地址，注意不包含部署目录，部署目录从公共配置中取
  * @param jsonStr_ 发送参数
  * @param cookie_  客户端保存的sessionId、用户名等信息
  * @param call_ 回调函数
  * @param header_ 预留字段
  * @return
  */

 function UseAjax(urlStr_,jsonStr_,cookie_,call_,header_){
 
 
 //var cookie=getCookieSession();
	 if(ajaxnum<1){
		 ShowDiv();
	 ajaxnum = 1;
	 }else{
		 ajaxnum=ajaxnum+1;
	 }
	
 $.ajax( {
			type : "post",
			url:contextPath+urlStr_+"",		
			data:{jsonStr:jsonStr_,checkStr:"123"},
				contentType: "application/x-www-form-urlencoded",
			
		beforeSend: function (jqXHR, settings) { jqXHR.setRequestHeader('User-Agent','hdapp-h5');
		                             jqXHR.setRequestHeader('Application','hdhealth');
		                             jqXHR.setRequestHeader('Version','v1.0');
		                             jqXHR.setRequestHeader('Cookies',cookie_.replace(/;/g,"#").replace(/\s+/g,""));
		                            
		                            // jqXHR.setRequestHeader('Content-Type','application/json');
		                             jqXHR.setRequestHeader('Accept','application/json'); 
									 },
									 
			complete:function(XMLHttpRequest, textStatus) {
							// alert(XMLHttpRequest.responseText);
										 if(ajaxnum>1){
												ajaxnum=ajaxnum-1;
												
											}
											if(ajaxnum==1){
												try{
													HiddenDiv();
												}catch(e){}
											}
			
				if(XMLHttpRequest.status==302){
					var response=eval("("+XMLHttpRequest.responseText+")");
					window.open(response.locationURL);
				}
				
				
			},
			success : function(response,textStatus) {
				
				if(ajaxnum>1){
					ajaxnum=ajaxnum-1;
				}
				if(ajaxnum==1){
					try{
						HiddenDiv();
						ajaxnum=0;
					}catch(e){}
				}
				
if(textStatus==500){
					
					showMessage(response.responseText);
				}else{
						call_(response);
						checkPermission(response);
				}
			},
			error:function(XMLHttpRequest, textStatus, errorThrown){
				if(ajaxnum>1){
					ajaxnum=ajaxnum-1;
				}
				if(ajaxnum==1){
					try{
						HiddenDiv();
						ajaxnum=0;
					}catch(e){}
				}
			
			if (XMLHttpRequest.status==401){
				deleteCookie('sessionId');
				if(ajaxnum>1){
					ajaxnum=ajaxnum-1;
				}
				if(ajaxnum==1){
					try{
						HiddenDiv();
						ajaxnum=0;
					}catch(e){}
				}
				window.location.href=contextPath+"/login/himindex.html"; 
				
				showMessage("session已过期，请重新登录");
			}else{
				
			showMessage(XMLHttpRequest.responseText);
				
			}
			}
		});	
 
 }
 //
//燕园
 function AjaxDirect(urlStr_, jsonStr_, cookie_, call_, header_) {
 	if (ajaxnum < 1) {
 		ShowDiv();
 		ajaxnum = 1;
 	} else {
 		ajaxnum = ajaxnum + 1;
 	}
 	$.ajax({
 		type : "post",
 		url : contextPath + urlStr_ + "",
 		data : {
 			jsonStr : jsonStr_
 		},
 		contentType : "application/x-www-form-urlencoded",

 		beforeSend : function(jqXHR, settings) {
 			jqXHR.setRequestHeader('User-Agent' , 'hdapp-h5');
 			jqXHR.setRequestHeader('Application', 'hdhealth');
 			jqXHR.setRequestHeader('Version', 'v1.0');
 			jqXHR.setRequestHeader('Cookies', cookie_.replace(/;/g, "#")
 					.replace(/\s+/g, ""));
 			jqXHR.setRequestHeader('Accept', 'application/json');
 		},
 		complete : function(XMLHttpRequest, textStatus) {
 			if (ajaxnum > 1) {
 				ajaxnum = ajaxnum - 1;
 			}
 			if (ajaxnum == 1) {
 				try {
 					HiddenDiv();
 				} catch (e) {
 				}
 			}
 			if (XMLHttpRequest.status == 302) {
 				var response = eval("(" + XMLHttpRequest.responseText + ")");
 				window.open(response.locationURL);
 			}
 		},
 		success : function(response, textStatus) {
 			if (ajaxnum > 1) {
 				ajaxnum = ajaxnum - 1;
 			}
 			if (ajaxnum == 1) {
 				try {
 					HiddenDiv();
 					ajaxnum = 0;
 				} catch (e) {
 				}
 			}
 			if (textStatus == 500) {
 				showMessage(response.responseText);
 			} else {
 				call_(response);
 				checkPermission(response);
 			}
 		},
 		error : function(XMLHttpRequest, textStatus, errorThrown) {
 			if (ajaxnum > 1) {
 				ajaxnum = ajaxnum - 1;
 			}
 			if (ajaxnum == 1) {
 				try {
 					HiddenDiv();
 					ajaxnum = 0;
 				} catch (e) {
 				}
 			}
 			if (XMLHttpRequest.status == 401) {
 				deleteCookie('sessionId');
 				if (ajaxnum > 1) {
 					ajaxnum = ajaxnum - 1;
 				}
 				if (ajaxnum == 1) {
 					try {
 						HiddenDiv();
 						ajaxnum = 0;
 					} catch (e) {
 					}
 				}
 				window.location.href = contextPath + "/yanyuanLogin.html";
 				showMessage("session已过期，请重新登录");
 			} else {
 				showMessage(XMLHttpRequest.responseText);
 			}
 		}
 	});
 }


/**//************************************************************************ 
| 函数名称： setCookie | 
| 函数功能： 设置cookie函数 | 
| 入口参数： name：cookie名称；value：cookie值 | 
| 维护记录： Spark(创建） | 
| 版权所有： (C) 2006-2007 康健德 | 
| 编写时间： 2007年9月13日 21:00 | 
*************************************************************************/ 
function setCookie(name, value) 
{ 

var argv = setCookie.arguments; 
var argc = setCookie.arguments.length; 
var expires = (argc > 2) ? argv[2] : null; 

if(expires!=null) 
{ 
var LargeExpDate = new Date (); 
LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24)); 
} 
document.cookie = name + "=" + escape (value)+((expires == null) ? ";path=/" : ("; path=/; expires=" +LargeExpDate.toGMTString())); 

} 
/**//************************************************************************ 
| 函数名称： getCookie | 
| 函数功能： 读取cookie函数 | 
| 入口参数： Name：cookie名称 | 
| 维护记录： Spark(创建） | 
| 版权所有： (C) 2006-2007 康健德 | 
| 编写时间： 2007年9月13日 21:02 | 
*************************************************************************/ 
function getCookie(Name) 
{ 
	var search = Name + "=" 
	if(document.cookie.length > 0) 
	{ 
	offset = document.cookie.indexOf(search) 
	if(offset != -1) 
	{ 
		offset += search.length 
		end = document.cookie.indexOf(";", offset) 
		if(end == -1) end = document.cookie.length 
	return unescape(document.cookie.substring(offset, end)) 
	} 
	else return "" 
	} 
} 

/**//************************************************************************ 
| 函数名称： deleteCookie | 
| 函数功能： 删除cookie函数 | 
| 入口参数： Name：cookie名称 | 
| 维护记录： Spark(创建） | 
| 版权所有： (C) 2006-2007 康健德 | 
| 编写时间： 2007年9月15日 18:10 | 
*************************************************************************/ 
function deleteCookie(name) 
{ 
var expdate = new Date(); 
expdate.setTime(expdate.getTime() - (86400 * 1000 * 1)); 
setCookie(name, "", expdate); 

} 
/** 
     * 解析输入的dateStr，返回Date类型。 
     * dateStr: XXXX-XX-XX 
     */  
    function parseDate(dateStr){  
        var strArray = dateStr.split("-");  
        if(strArray.length == 3){  
            return new Date(strArray[0], parseInt(strArray[1])-1, strArray[2]);  
        }else{  
            return new Date();  
        }  
    } 
    function formatStr(value_){
    	if(value_<10) value_="0"+value_;
    	return value_;
    }
    function formatdbStr(value_){
    	if((value_+"").indexOf(".")>0){ 
	    	if((value_+"").length-(value_+"").indexOf(".")>2){
	    	value_=(value_+"").substring(0,(value_+"").indexOf(".")+2);
	    	return value_;
	    	}else{
	    	return value_;
	    	}
    	
    	}else{
    	return value_;
    	}
    }
    function formatDate(dateobj){
    	var result = "";
    	if(dateobj){
    	var hour = dateobj.getHours();
    	var date = dateobj.getDate();
    	var minute =dateobj.getMinutes();
    	var month = dateobj.getMonth()+1;
    	if(hour<10) hour="0"+hour;
    	if(date<10) date="0"+date;
    	if(minute<10) minute="0"+minute;
    	if(month<10) month="0"+month;

    		result = checkYear(dateobj.getYear())+"-"+month+"-"+date+" "+hour+":"+minute
    	}
    	return result;
    }
    //没有年的格式
    function formatDateNy(dateobj){
    	var result = "";
    	if(dateobj){
    	var hour = dateobj.getHours();
    	var date = dateobj.getDate();
    	var minute =dateobj.getMinutes();
    	var month = dateobj.getMonth()+1;
    	if(hour<10) hour="0"+hour;
    	if(date<10) date="0"+date;
    	if(minute<10) minute="0"+minute;
    	if(month<10) month="0"+month;

    		result = month+"-"+date+" "+hour+":"+minute
    	}
    	return result;
    }
    function formatTime(dateobj){
    	var result = "";
    	if(dateobj){
    	var hour = dateobj.getHours();
    	var date = dateobj.getDate();
    	var minute =dateobj.getMinutes();
    	var month = dateobj.getMonth()+1;
    	if(hour<10) hour="0"+hour;
    	if(date<10) date="0"+date;
    	if(minute<10) minute="0"+minute;
    	if(month<10) month="0"+month;

    		result = hour+":"+minute
    	}
    	return result;
    }
    function formatDay(dateobj){
    	var result = "";
    	if(dateobj){
    	
    	var date = dateobj.getDate();
    	var month = dateobj.getMonth()+1;
    	if(date<10) date="0"+date;
    	if(month<10) month="0"+month;

    		result = checkYear(dateobj.getYear())+"-"+month+"-"+date;
    	}
    	return result;
    }
    function getBool(val_){
    	if(parseInt(val_)==1){
    	return true;
    	}else{
    	return false;
    	}
    }
    function checkYear(year_){
    //alert(year_);
    	if(parseInt(year_)<1000){
    		return (parseInt(year_)+1900);
    	}else
    	{
    		return year_;
    	}
    }
 
	
		function logout(response){
		
		//	alert('"'+response+'"');
			location.href = contextPath+"/index.jsp";
		}
		function nowLongDate(){
			var nowdate = new Date();
			
			try{
			//alert(getCookie("updatedDate")==null);
			if(getCookie("myupdatedDate")!=""){
			nowdate = new Date(parseInt(getCookie("myupdatedDate")));
			}
			
			}catch(e){}
			nowdate.setDate(1);
			nowdate.setHours(0);
			nowdate.setMinutes(1);
			return nowdate.getTime();
			//return null;
		}
		function nowLongDate1(){
			var nowdate = new Date();
			
			try{
			//alert(getCookie("updatedDate")==null);
			if(getCookie("myupdatedDate")!=""){
			nowdate = new Date(parseInt(getCookie("myupdatedDate")));
			}
			
			}catch(e){}
			
			nowdate.setHours(0);
			nowdate.setMinutes(1);
			return nowdate.getTime();
			//return null;
		}
		function nowLongDate7(){
			var nowdate = new Date();
			
			try{
			//alert(getCookie("updatedDate")==null);
			if(getCookie("myupdatedDate")!=""){
			nowdate = new Date(parseInt(getCookie("myupdatedDate")));
			}
			
			}catch(e){}
			//nowdate.setDate(1);
			nowdate.setHours(0);
			nowdate.setMinutes(1);
			return (nowdate.getTime()-7*1000*3600*24);
			//return null;
		}
		//取当天开始
		function todayBLongDate(){
			var nowdate = new Date();
			
			try{
			//alert(getCookie("updatedDate")==null);
			if(getCookie("myupdatedDate")!=""){
			nowdate = new Date(parseInt(getCookie("myupdatedDate")));
			}
			
			}catch(e){}
			//nowdate.setDate(1);
			
			nowdate.setHours(0);
			nowdate.setMinutes(1);
			return nowdate.getTime();
			//return null;
		}
		//取30天开始
		function thirtydayBLongDate(){
			var nowdate = new Date();
			
			try{
			//alert(getCookie("updatedDate")==null);
			if(getCookie("myupdatedDate")!=""){
			nowdate = new Date(parseInt(getCookie("myupdatedDate")));
			}
			
			}catch(e){}
			//nowdate.setDate(1);
			nowdate.setHours(0);
			nowdate.setMinutes(1);
			var result = nowdate.getTime();
			result = result - 30*24*3600*1000;
			return result;
			//return null;
		}
		//取当天结束
		function todayELongDate(){
			var nowdate = new Date();
			
			try{
			//alert(getCookie("updatedDate")==null);
			if(getCookie("myupdatedDate")!=""){
			nowdate = new Date(parseInt(getCookie("myupdatedDate")));
			}
			
			}catch(e){}
			//nowdate.setDate(1);
			nowdate.setHours(23);
			nowdate.setMinutes(59);
			nowdate.setSeconds(59);
			return nowdate.getTime();
			//return null;
		}
		//取指定日期开始
		function thedayBLongDate(nowdate){
			
			//nowdate.setDate(1);
			nowdate.setHours(1);
			nowdate.setMinutes(1);
			return nowdate.getTime();
			//return null;
		}
		//取指定日期结束
		function thedayELongDate(nowdate){
			//nowdate.setDate(1);
			nowdate.setHours(23);
			nowdate.setMinutes(59);
			nowdate.setSeconds(59);
			return nowdate.getTime();
			//return null;
		}
		
		function formatNowDay(nowdate){
    	var result = "";
    	if(!nowdate){
    	nowdate = new Date();
			
			try{
			//alert(getCookie("updatedDate")==null);
			if(getCookie("myupdatedDate")!=""){
			nowdate = new Date(parseInt(getCookie("myupdatedDate")));
			}
			
			}catch(e){}
    	}
    	var date = nowdate.getDate();
    	var month = nowdate.getMonth()+1;
    	if(date<10) date="0"+date;
    	if(month<10) month="0"+month;

    		result = checkYear(nowdate.getYear())+"年"+month+"月"+date+"日";
    	
    	return result;
    }
		
		function nowDate(){
			var nowdate = new Date();
			try{
		//	deleteCookie(myupdatedDate);
		if(getCookie("myupdatedDate")!=""){
			nowdate = new Date(parseInt(getCookie("myupdatedDate")));
			}
			}catch(e){alert(e);}
			return nowdate;
		}
		function showMessage(text_){
		text_='<div style="color:#066;font-size:18px;">'+text_+'</div>';
			/*$.messager.show({
				title:'系统提示',
				msg:text_,
				timeout:0,
				showType:"show",
				width:300,
				height:150
			});*/
			if(text_ && text_.indexOf("\":\"")>0){
				text_ = text_.replace("\":\"", "");
				//alert(text_);
			}
			if(text_ && text_.indexOf("{\"")>0){
				text_ = text_.replace("{\"", "");
				//alert(text_);
			}
			if(text_ && text_.indexOf("\"}")>0){
				text_ = text_.replace("\"}", "");
				//alert(text_);
			}
			$.messager.alert('系统提示',text_,"info");
		
		}
		function popMessage(text_){
			text_='<div style="color:#066;font-size:18px;">'+text_+'</div>';
				$.messager.show({
					title:'系统提示',
					msg:text_,
					timeout:0,
					showType:"show",
					width:300,
					height:150
				});
			
			}
		function getTypeName(type_){
			if(type_=='FastingBloodGlucose')
			{
				return "空腹血糖";
			}
			else if(type_=='PreprandialBloodGlucose'){
				return "餐前血糖";
			}
			else if(type_=='PostprandialBloodGlucose'){
				return "餐后血糖";
			}else if(type_=='AfterDinnerBloodGlucose'){
				return "晚餐后血糖";
			}
			else if(type_=='BedtimeBloodGlucose'){
				return "睡前血糖";
			}
			else if(type_=='BloodPressure'){
				return "血压";
			}else if(type_=='DiabetesBloodPressure'){
				return "糖尿病血压";
			}
			else if(type_=='Weight'){
				return "体重";
			}
			else if(type_=='Medicine'){
				return "用药";
			}
			else if(type_=='Diet'){
				return "随诊";
			}
			else if(type_=='Exercise'){
				return "运动";
			}
			else if(type_=='Tobacco'){
				return "吸烟";
			}
			else if(type_=='Smoke'){
				return "吸烟";
			}
			else if(type_=='Alcohol'){
				return "饮酒";
			}
			else if(type_=='AfterDinnerBloodGlucose'){
				return "晚餐后血糖";
			}else if(type_=='SelfPromise'){
				return "自我承诺";
			}else if(type_=='Habit'){
				return "新生活习惯";
			}
			else{
				return type_;
			}
		
		}
		var dangersType=1;
		//空腹血糖录入提示
		function getFastingBloodMessage(value_){
			if(value_>0 && value_<=2.8){
				dangersType=3;
				return "您测得的血糖值很低，发生低血糖对您身体危害很大，您需要立即进食一些糖类食品，建议您联系您的医生或CM。";
			}
			else if(value_>2.8 && value_<=3.9){
				dangersType=3;
				return "您目前的血糖低于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-6.1mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。发生低血糖对您身体危害很大，为了预防低血糖发生，您需要立即进食一些糖类食品，如有疑问请您联系您的医生或CM。"
			}
			else if(value_>3.9 && value_<=4.4){
				dangersType=2;
				return "您目前的血糖低于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-6.1mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。"
			}
			else if(value_>4.4 && value_<=6.1){
				dangersType=1;
				return "您控制得很好，请继续保持！"
			}
			else if(value_>6.1 && value_<=7.0){
				dangersType=2;
				return "您控制得不错，请继续保持！"
			}
			else if(value_>7.0 && value_<=7.7){
				dangersType=3;
				return "您目前的血糖高于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-6.1mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。"
			}
			else if(value_>7.8 && value_<=10){
				dangersType=3;
				return "您目前的血糖高于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-6.1mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。"
			}
			else if(value_>10){
				dangersType=3;
				return "您目前的血糖高于正常范围，尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-6.1mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。"
			}
			else{
				return "";
			}
		}
		//非空腹血糖提示
		function getOtherBloodMessage(value_){
			if(value_>0 && value_<=2.8){
				dangersType=3;
				return "您测得的血糖值很低，发生低血糖对您身体危害很大，您需要立即进食一些糖类食品，建议您联系您的医生或CM。";
			}
			else if(value_>2.8 && value_<=3.9){
				dangersType=3;
				return "您目前的血糖低于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-6.1mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。发生低血糖对您身体危害很大，为了预防低血糖发生，您需要立即进食一些糖类食品，如有疑问请您联系您的医生或CM。"
			}
			else if(value_>3.9 && value_<=4.4){
				dangersType=2;
				return "您目前的血糖低于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-6.1mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。"
			}
			else if(value_>4.4 && value_<=7.7){
				dangersType=1;
				return "您控制得很好，请继续保持！"
			}
			else if(value_>7.7 && value_<=8.0){
				dangersType=1;
				return "您控制得不错，请继续保持！"
			}
			else if(value_>8.0 && value_<=10){
				dangersType=2;
				return "您目前的血糖高于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-8.0mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。"
			}
			else if(value_>10 && value_<=11){
				dangersType=3;
				return "您目前的血糖高于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-8.0mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。"
			}
			else if(value_>11){
				dangersType=3;
				return "您目前的血糖高于正常范围，尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为4.4-8.0mmol/L。由于个体差异，您的空腹血糖控制范围请遵照医嘱。"
			}
			else{
				return "";
			}
		}
		//心率提示
		function getRateMessage(value_){
			if(value_>0 && value_<60){
				dangersType=3;
				return "您的心率低于正常值，有症状及时就医";
			}
			else if(value_>=60 && value_<=100){
				dangersType=1;
				return "您控制得很好，请继续保持！"
			}
			else if(value_>100){
				dangersType=3;
				return "您的心率高于正常值，有症状及时就医"
			}
			else{
				return "";
			}
		}
		//血压录入提示
		function getPressMessage(svalue_,dvalue_,type_){
		var maiya=parseInt(svalue_)-parseInt(dvalue_);
			if(type_=='BloodPressure'){
				if(svalue_>0 && svalue_<90 && dvalue_>0 && dvalue_<60 && maiya<30){
					dangersType=2;
					return "您的血压低于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医";
				}else if(svalue_>0 && svalue_<90 && dvalue_>0 && dvalue_<60 && maiya>=30 && maiya<=40){
					dangersType=2;
					return "您的血压低于正常值，请注意，有症状及时就医";
				}else if(svalue_>0 && svalue_<90 && dvalue_>0 && dvalue_<60 && maiya>40){
					dangersType=2;
					return "您的血压低于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医";
				}
				else if(svalue_>0 && svalue_<90 && dvalue_>=60 && dvalue_<=90 && maiya<30){
					dangersType=2;
					return "您的血压收缩压低于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}else if(svalue_>0 && svalue_<90 && dvalue_>=60 && dvalue_<=90 && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压收缩压低于正常值，请注意，有症状及时就医"
				}else if(svalue_>0 && svalue_<90 && dvalue_>=60 && dvalue_<=90 && maiya>40){
					dangersType=2;
					return "您的血压收缩压低于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}
				else if(svalue_>=90 && svalue_<=140 && dvalue_>0 && dvalue_<60 && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压舒张压低于正常值，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=140 && dvalue_>0 && dvalue_<60 && maiya>40){
					dangersType=2;
					return "您的血压舒张压低于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}
				else if(svalue_>=90 && svalue_<=140 && dvalue_>=60 && dvalue_<=90 && maiya<30){
					dangersType=2;
					return "您的血压正常但脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=140 && dvalue_>=60 && dvalue_<=90 && maiya<=40 && maiya>=30){
					dangersType=1;
					return "您的血压控制得很好，请继续保持"
				}else if(svalue_>=90 && svalue_<=140 && dvalue_>=60 && dvalue_<=90 && maiya>40){
					dangersType=2;
					return "您的血压正常但脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}
				else if(svalue_>=90 && svalue_<=140 && dvalue_>90 && maiya<30){
					dangersType=2;
					return "您的血压舒张压高于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=140 && dvalue_>90  && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压舒张压高于正常值，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=140 && dvalue_>90 && maiya>40){
					dangersType=2;
					return "您的血压舒张压高于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}else if(svalue_>140 && dvalue_>=0 && dvalue_<60 && maiya>40){
					dangersType=2;
					return "您的血压收缩压高于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}
				else if(svalue_>140 && dvalue_>=60 && dvalue_<=90 && maiya>40){
					dangersType=2;
					return "您的血压收缩压高于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}else if(svalue_>140 && dvalue_>90 && maiya<30){
					dangersType=2;
					return "您的血压高于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}else if(svalue_>140 && dvalue_>90 && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压收缩压高于正常值，请注意，有症状及时就医"
				}else if(svalue_>140 && dvalue_>90 && maiya>40){
					dangersType=2;
					return "您的血压收缩压高于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}
				else if(svalue_>=180 || svalue<90 || dvalue_>=120 || dvalue_<60 || maiya<20 || maiya>60){
					dangersType=1;
					return "指南建议患者血压控制在140/90mmHg以下理想。目前您的数据相差较大，如有不适请及时就医"
				}
				else{
					return "";
				}
			}else{
				if(svalue_>0 && svalue_<90 && dvalue_>0 && dvalue_<60 && maiya<30){
					dangersType=2;
					return "您的血压低于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医";
				}else if(svalue_>0 && svalue_<90 && dvalue_>0 && dvalue_<60 && maiya>=30 && maiya<=40){
					dangersType=2;
					return "您的血压低于正常值，请注意，有症状及时就医";
				}else if(svalue_>0 && svalue_<90 && dvalue_>0 && dvalue_<60 && maiya>40){
					dangersType=2;
					return "您的血压低于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医";
				}
				else if(svalue_>0 && svalue_<90 && dvalue_>=60 && dvalue_<=80 && maiya<30){
					dangersType=2;
					return "您的血压收缩压低于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}else if(svalue_>0 && svalue_<90 && dvalue_>=60 && dvalue_<=80 && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压收缩压低于正常值，请注意，有症状及时就医"
				}else if(svalue_>0 && svalue_<90 && dvalue_>=60 && dvalue_<=80 && maiya>40){
					dangersType=2;
					return "您的血压收缩压低于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}else if(svalue_>0 && svalue_<90 && dvalue_>80 && dvalue_<90 && maiya<=10 && maiya>=0){
					dangersType=2;
					return "您的血压收缩压低于正常值；舒张压高于糖尿病患者血压标准，且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}
				else if(svalue_>=90 && svalue_<=130 && dvalue_>0 && dvalue_<60 && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压舒张压低于正常值，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=130 && dvalue_>0 && dvalue_<60 && maiya>40){
					dangersType=2;
					return "您的血压舒张压低于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=130 && dvalue_>0 && dvalue_<60 && maiya<30){
					dangersType=2;
					return "您的血压舒张压低于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}
				else if(svalue_>=90 && svalue_<=130 && dvalue_>=60 && dvalue_<=80 && maiya<30){
					dangersType=2;
					return "您的血压正常但脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=130 && dvalue_>=60 && dvalue_<=80 && maiya<=40 && maiya>=30){
					dangersType=1;
					return "您的血压控制得很好，请继续保持"
				}else if(svalue_>=90 && svalue_<=130 && dvalue_>=60 && dvalue_<=80 && maiya>40){
					dangersType=2;
					return "您的血压正常但脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}
				else if(svalue_>=90 && svalue_<=130 && dvalue_>80 && maiya<30){
					dangersType=2;
					return "您的血压舒张压高于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=130 && dvalue_>80  && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压舒张压高于正常值，请注意，有症状及时就医"
				}else if(svalue_>=90 && svalue_<=130 && dvalue_>80 && maiya>40){
					dangersType=2;
					return "您的血压舒张压高于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}else if(svalue_>130 && dvalue_>=0 && dvalue_<60 && maiya>40){
					dangersType=2;
					return "您的血压收缩压高于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}else if(svalue_>130 && dvalue_>=60 && dvalue_<=80 && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压收缩压高于糖尿病患者血压标准，请注意，有症状及时就医"
				}
				else if(svalue_>130 && dvalue_>=60 && dvalue_<=80 && maiya>40){
					dangersType=2;
					return "您的血压收缩压高于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}else if(svalue_>130 && dvalue_>80 && maiya<30){
					dangersType=2;
					return "您的血压高于正常值且脉压差(即：收缩压-舒张压)偏小，请注意，有症状及时就医"
				}else if(svalue_>130 && dvalue_>80 && maiya<=40 && maiya>=30){
					dangersType=2;
					return "您的血压收缩压高于正常值，请注意，有症状及时就医"
				}else if(svalue_>130 && dvalue_>80 && maiya>40){
					dangersType=2;
					return "您的血压收缩压高于正常值且脉压差(即：收缩压-舒张压)偏大，请注意，有症状及时就医"
				}
				else if(svalue_>=180 || svalue<90 || dvalue_>=120 || dvalue_<60 || maiya<20 || maiya>60){
					dangersType=1;
					return "指南建议患者血压控制在140/90mmHg以下理想。目前您的数据相差较大，如有不适请及时就医"
				}
				else{
					return "";
				}
			}
		}
		//体重提示
		function getWeightMessage(value_){
			if(value_>0 && value_<18.5){
				dangersType=3;
				return "您的体重偏低，请加强营养！";
			}
			else if(value_>=18.5 && value_<24){
				dangersType=1;
				return "您控制得很好，请继续保持！"
			}
			else if(value_>=24 && value_<28){
				dangersType=2;
				return "您的体重超重！"
			}
			else if(value_>=28){
				dangersType=3;
				return "您的体型属于肥胖！"
			}
			else{
				return "";
			}
		}
		function getTall(){
			var tall = 1.60;
			try{
		//	deleteCookie(myupdatedDate);
		if(getCookie("tall")){
			tall = parseFloat(getCookie("tall"))/100;
			}
			}catch(e){}
			return tall;
		}
		function getWeight(){
			var weight = 60;
			try{
		//	deleteCookie(myupdatedDate);
		if(getCookie("weight")){
			weight = parseFloat(getCookie("weight"));
			}
			}catch(e){}
			return weight;
		}
		function getSessionId(session_){
			if(session_!=null && session_.indexOf("=")>0){
				return session_.split("=")[1];
			}else{
				return session_;
			}
		}
		function getCookieSession()
		{
			Name='sessionId';
			var search = Name + "=";
			offset = 0;
			if(document.cookie.length > 0) 
			{ 
					var n = GetSubstrCount(document.cookie,search,true);
					for(var i=0;i<n;i++){
						offset = document.cookie.indexOf(search,offset); 
						if(offset != -1) 
						{ 
							offset += search.length 
							end = document.cookie.indexOf(";", offset) 
							if(end == -1) end = document.cookie.length 
							var temp_=document.cookie.substring(offset, end);
							if(temp_!="" && temp_!=null && temp_!='null'){
								return unescape(document.cookie.substring(offset, end));
							}
						} else return "" 
					}
					
			} 
			return "" ;
		}
		/**
		 * 计算sstr在str中出现的次数，如果isSensitive的值为false，大小写不敏感，反之大小写敏感
		 *
		 * @param  str string
		 * @param  sstr string
		 * @param  isSensitive bool
		 * @return count int
		 */
		function GetSubstrCount( str, sstr, isSensitive ){
		    var count = 0;
		    var pos;
		    if( !isSensitive ){
		        str = str.toLowerCase();
		        sstr = sstr.toLowerCase();
		    }
		    while( ( pos = str.indexOf( sstr ) ) != -1 ){
		        str = str.substr( pos + sstr.length, str.length );
		        count++;
		    }
		    return count;
		}
		/**
		 * 根据b,对a进行排序
		 * @param a
		 * @param b
		 * @return
		 */
	
	function sortObj(a,b)
	{
		return a.symbol.localeCompare(b.symbol);
	}
	function sortStatus(a,b)
	{
		if(a.status=='Running'){
			return -1;
		}else if(b.status=='Running')
		{
			return 1;
		}else{
			return 0;
		}

	}
/**
 * 根据创建时间，对a、b进行排序
 * @param a
 * @param b
 * @return
 */
	function sortNumber(a,b)
	{
		return b.createdDate-a.createdDate;
	}
	
		//折线图切换操作
		function swichLine(name){
		 if(!pictype){
		 $("#pictask").show();
			$("#pictitle").show();
			$("#choices").show();
			$("#task").hide();
		 //	$("#pictask").show();
		 //	$("#task").hide();
		 }
		var data = [];
			if(name=='all'){
				$("#picvalue").val('11111');
				 $.each(datasets, function(key, val) {
				// alert(key);
			         data.push(val);
			    });
			}
			else
			{
			data.push(datasets["biaozhun"]);
				var picvalue = $("#picvalue").val();
				
				
				for(var length=1;length<=nameArray.length;length++)
				{
					var temp = nameArray[length-1];
					if(temp==name){
						if(length>1){
							if(picvalue.substring(5-length,6-length)=='1'){
								picvalue = picvalue.substring(0,5-length)+'0'+picvalue.substring(6-length);
								$("#"+temp).attr("src","../images/"+temp +"m.png");
							}else{
								picvalue = picvalue.substring(0,5-length)+'1'+picvalue.substring(6-length);
								data.push(datasets[temp]);
								$("#"+temp).attr("src","../images/"+temp +"h.png");
							}
						}else{
					//	alert(picvalue.substring(5-length,6-length));
							if(picvalue.substring(5-length,6-length)=='1'){
								picvalue = picvalue.substring(0,5-length)+'0';
								$("#"+temp).attr("src","../images/"+temp +"m.png");
							}else{
								picvalue = picvalue.substring(0,5-length)+'1';
								data.push(datasets[temp]);
								$("#"+temp).attr("src","../images/"+temp +"h.png");
							}
						}
					}else{
						if(picvalue.substring(5-length,6-length)=='1'){
								
								data.push(datasets[temp]);
								$("#"+temp).attr("src","../images/"+temp +"h.png");
							}else{
								$("#"+temp).attr("src","../images/"+temp +"m.png");
							}
					}
					//alert(picvalue);
				}
				
				
				
				$("#picvalue").val(picvalue);
			}
		 if (data.length > 0){
           	 $.plot($("#pictask"), data);
            }
             if(!pictype){
		 	//$("#pictask").hidden();
		 	$("#pictask").hide();
			$("#choices").hide();
			$("#pictitle").hide();
			$("#task").show();
		 }
		}
		var healthNumber = 0;
		//空腹血糖风险计算
		function getFastingBloodNumber(value_){
		healthNumber = 0;
			if(value_>0 && value_<3.0){
				healthNumber=0;
				return "糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为3.9-6.1mmol/L。目前您的数据相差较大，请随身携带食物预防低血糖，如有不适请及时就医。";
			}
			else if(value_>=3.0 && value_<3.9){
				healthNumber=0.5;
				return "您目前的血糖低于正常范围，糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为3.9-6.1mmol/L"
			}
			else if(value_>=3.9 && value_<=6.1){
				healthNumber=1;
				return "您控制得很好，请继续保持！"
			}
			else if(value_>6.1 && value_<=7.0){
				healthNumber=0.5;
				return "您目前的血糖高于正常范围糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为3.9-6.1mmol/L。"
			}
			else if(value_>7.0 && value_<=11.1){
				healthNumber=0.5;
				return "您目前的血糖高于正常范围，尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为3.9-6.1mmol/L。"
			}
			else if(value_>11.1){
				healthNumber=0;
				return "糖尿病指南建议2型糖尿病患者空腹血糖控制良好的指标为3.9-6.1mmol/L。目前您的数据相"
			}
			else{
				return "";
			}
		}
		//餐后血糖风险计算
		function getEatingBloodNumber(value_){
		healthNumber = 0;
			if(value_>0 && value_<3.9){
				healthNumber=0;
				return "糖尿病指南建议2型糖尿病患者餐后血糖控制良好的指标为4.6-7.8mmol/L。目前您的数据相差较大，请随身携带食物预防低血糖，如有不适请及时就医。";
			}
			else if(value_>=3.9 && value_<4.6){
				healthNumber=0.5;
				return "您目前的血糖低于正常范围，糖尿病指南建议2型糖尿病患者餐后血糖控制良好的指标为4.6-7.8mmol/L。"
			}
			else if(value_>=4.6 && value_<=7.8){
				healthNumber=1;
				return "您的血糖控制得很好，请继续保持！"
			}
			else if(value_>11.1 && value_<=14.1){
				healthNumber=0.5;
				return "您目前的血糖高于正常范围，糖尿病指南建议2型糖尿病患者餐后血糖控制良好的指标为4.6-7.8mmol/L。"
			}
			else if(value_>14.1){
				healthNumber=0;
				return "糖尿病指南建议2型糖尿病患者餐后血糖控制良好的指标为4.6-7.8mmol/L。目前您的数据相差较大，如有不适请及时就医。"
			}
			else{
				return "";
			}
		}
		//夜间血糖风险计算
		function getNightBloodNumber(value_){
		healthNumber = 0;
			if(value_>0 && value_<3.9){
				healthNumber=0;
				return "您目前的血糖低于正常范围，糖尿病指南建议2型糖尿病患者夜间血糖控制良好的指标为3.9-6.1mmol/L。";
			}
			else if(value_>=3.9 && value_<=6.1){
				healthNumber=1;
				return "您的血糖控制得很好，请继续保持！"
			}
			else if(value_>6.1 && value_<=7.0){
				healthNumber=0.5;
				return "您目前的血糖高于正常范围，糖尿病指南建议2型糖尿病患者夜间血糖控制良好的指标为3.9-6.1mmol/L。由于个体差异，您的夜间血糖控制范围请遵照医嘱。"
			}
			else if(value_>7.0 && value_<=11.1){
				healthNumber=0.5;
				return "您目前的血糖高于正常范围，糖尿病指南建议2型糖尿病患者夜间血糖控制良好的指标为3.9-6.1mmol/L。由于个体差异，您的夜间血糖控制范围请遵照医嘱，如有疑问请您联系您的医生或疾病管理师。"
			}
			else if(value_>11.1){
				healthNumber=0;
				return "糖尿病指南建议2型糖尿病患者夜间血糖控制良好的指标为3.9-6.1mmol/L。目前您的数据相差较大，如有不适请及时就医。"
			}
			else{
				return "";
			}
		}
	
		//心率提示
		function getRateMessage(value_){
		healthNumber = 0;
			if(value_>0 && value_<45){
				healthNumber=0;
				return "正常人心率建议为60-100次/分。目前您的数据相差较大，如有不适请及时就医。";
			}else if(value_>=45 && value_<60){
				healthNumber=0.5;
				return "您的心率低于正常值，有症状及时就医。";
			}
			else if(value_>=60 && value_<=100){
				healthNumber=1;
				return "您的心率控制得很好，请继续保持！"
			}
			else if(value_>100 && value_<120){
				healthNumber=0.5;
				return "您的心率高于正常值，有症状及时就医。"
			}else if(value_>=120){
				healthNumber=0;
				return "正常人心率建议为60-100次/分。目前您的数据相差较大，如有不适请及时就医。"
			}
			else{
				return "";
			}
		}
		//血压风险计算
		function getPressNumber(svalue_,dvalue_){
		healthNumber = 0;
			if(svalue_>0 && svalue_<90 && dvalue_>0 && dvalue_<60){
				healthNumber=0.5;
				return "您的血压低于正常值，请注意，有症状及时就医";
			}
			else if(svalue_>0 && svalue_<90 && dvalue_>=60 && dvalue_<=90){
				healthNumber=0.5;
				return "您的血压收缩压低于正常值，请注意，有症状及时就医"
			}
			else if(svalue_>=90 && svalue_<=140 && dvalue_>0 && dvalue_<60){
				healthNumber=0.5;
				return "您的血压舒张压低于正常值，请注意，有症状及时就医"
			}
			else if(svalue_>=90 && svalue_<=140 && dvalue_>=60 && dvalue_<=90){
				healthNumber=1;
				return "您控制得很好，请继续保持"
			}
			else if(svalue_>=90 && svalue_<=140 && dvalue_>90 && dvalue_<120 ){
				healthNumber=0.5;
				return "您的血压舒张压高于正常值，请注意，有症状及时就医"
			}
			else if(svalue_<180 && svalue_>140 && dvalue_>=60 && dvalue_<=90){
				healthNumber=0.5;
				return "您的血压收缩压高于正常值，请注意，有症状及时就医"
			}
			else if(svalue_<180 && dvalue_<120 && svalue_>140 && dvalue_>90){
				healthNumber=0.5;
				return "您的血压高于正常值，请注意，有症状及时就医"
			}
			else if(svalue_>=180 || dvalue_>=120){
				healthNumber=0;
				return "您的血压高于正常值，请注意，有症状及时就医"
			}
			else{
				return "";
			}
		}
		//体重风险计算
		function getWeightNumber(value_){
		healthNumber = 0;
			if(value_>0 && value_<18.5){
				healthNumber=0.5;
				return "您的体重偏低，请加强营养！";
			}
			else if(value_>=18.5 && value_<24){
				healthNumber=1;
				return "您控制得很好，请继续保持！"
			}
			else if(value_>=24 && value_<28){
				healthNumber=0.5;
				return "您的体重超重！"
			}
			else if(value_>=28){
				healthNumber=0;
				return "您的体型属于肥胖！"
			}
			else{
				return "";
			}
		}
		//膳食风险计算
		function getEatNumber(value_){
		healthNumber = 0;
			if(value_==3){
				healthNumber=1;
				return "您目前摄入的三大营养素结构相对较为合理，请继续保持！";
			}
			else if(value_==1){
				healthNumber=0.5;
				return "您目前摄入的三大营养素结构有不合理地方，请按膳食指导进餐！"
			}
			else if(value_==0){
				healthNumber=0;
				return "您目前摄入的三大营养素结构不合理，请按膳食指导进餐，如有疑问请与您的医生或疾病管理师联系！"
			}
			
			else{
				return "";
			}
		}
		//运动风险计算
		function getSportNumber(lvalue_,svalue_){
		healthNumber = 0;
			if(lvalue_>=19 && svalue_>=4){
				healthNumber=1;
				return "您目前运动量符合标准，请保持！";
			}else if(lvalue_<19 && svalue_<4){
				healthNumber=0;
				return "您目前运动量严重不足，请按运动指导进行锻炼，如有疑问请与您的医生或疾病管理师联系！"
			}
			else if(lvalue_<19 || svalue_<4){
				healthNumber=0.5;
				return "您目前运动量略有不足，请按运动指导进行锻炼！"
			}
			else{
				return "";
			}
		}
		//戒烟风险计算
		function getSmokeNumber(value_){
		healthNumber = 0;
			if(value_==1){
				healthNumber=1;
				return "关于戒烟承诺，您一诺千金，做的非常棒！";
			}
			else if(value_==0){
				healthNumber=0;
				return "关于戒烟承诺，您要努力加油，一定做到哦!"
			}
			else{
				return "";
			}
		}
		function getIndexNumber1(value_){
			if(value_==0){
				return 'midred';
			}
			if(value_==0.5){
				return 'midyellow';
			}
			if(value_==1){
				return 'midblue';
			}
			if(value_==2){
				return 'mindarkgray';
			}
			if(value_==3){
				return 'midlightgray';
			}
		}
		function getIndexNumber2(value_){
			if(value_==0){
				return 'middwred';
			}
			if(value_==0.5){
				return 'middwyellow';
			}
			if(value_==1){
				return 'middwblue';
			}
			if(value_==2){
				return 'middwdarkgray';
			}
			if(value_==3){
				return 'middwlightgray';
			}
		}
		function getIndexNumber3(value_){
			if(value_==0){
				return 'midnumberred';
			}
			if(value_==0.5){
				return 'midnumberyellow';
			}
			if(value_==1){
				return 'midnumberblue';
			}
			if(value_==2){
				return 'midnumbernone';
			}
			if(value_==3){
				return 'midnumbernone';
			}
		}
		function getUnit(type){
			if(type=='g'){
				return '克';
			}else{
				return '两';
			}
		}
		function checkPermission(nodeArray){
			//if(permissionlist==""){
				if (nodeArray && nodeArray.permissionList && nodeArray.permissionList.length > 0) {
					for (var i = 0; i < nodeArray.permissionList.length; i++) {
						var wi = nodeArray.permissionList[i];
						if(wi.functionid && wi.functionid.length>0){
							
						//alert(wi.functionid);
						//alert(document.getElementsByName(wi.functionid).length);
							try{
								for(var j=0;j<document.getElementsByName(wi.functionid).length;j++)
								{
								if(document.getElementsByName(wi.functionid)[j]){
									document.getElementsByName(wi.functionid)[j].style.display='';
								}
								
								}
						}catch(e){alert(e);}
					}
				}
				}
			//}
		}
		Date.prototype.format =function(format)
	     {
	         var o = {
	         "M+" : this.getMonth()+1, //month
	 "d+" : this.getDate(),    //day
	 "h+" : this.getHours(),   //hour
	 "m+" : this.getMinutes(), //minute
	 "s+" : this.getSeconds(), //second
	 "q+" : Math.floor((this.getMonth()+3)/3),  //quarter
	 "S" : this.getMilliseconds() //millisecond
	         }
	         if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
	         (this.getFullYear()+"").substr(4- RegExp.$1.length));
	         for(var k in o)if(new RegExp("("+ k +")").test(format))
	         format = format.replace(RegExp.$1,
	         RegExp.$1.length==1? o[k] :
	         ("00"+ o[k]).substr((""+ o[k]).length));
	         return format;
	     }
		/**
		  * 泰康医生后台调用Ajax
		  * @param urlStr_ 访问地址，注意不包含部署目录，部署目录从公共配置中取
		  * @param jsonStr_ 发送参数
		  * @param cookie_  客户端保存的sessionId、用户名等信息
		  * @param call_ 回调函数
		  * @param header_ 预留字段
		  * @return
		  */

		 function UseTKAjax(urlStr_,jsonStr_,cookie_,call_,header_){
		 
		 
		 //var cookie=getCookieSession();
			 if(ajaxnum<1){
				 ShowDiv();
			 ajaxnum = 1;
			 }else{
				 ajaxnum=ajaxnum+1;
			 }
			
		 $.ajax( {
					type : "post",
					url:contextPath+urlStr_+"",		
					data:{jsonStr:jsonStr_,checkStr:""},
						contentType: "application/x-www-form-urlencoded",
					
				beforeSend: function (jqXHR, settings) { jqXHR.setRequestHeader('User-Agent','hdapp-h5');
				                             jqXHR.setRequestHeader('Application','hdhealth');
				                             jqXHR.setRequestHeader('Version','v1.0');
				                             jqXHR.setRequestHeader('Cookies',cookie_.replace(/;/g,"#").replace(/\s+/g,""));
				                            
//				                             jqXHR.setRequestHeader('Content-Type','application/json');
				                             jqXHR.setRequestHeader('Accept','application/json'); 
											 },
											 
					complete:function(XMLHttpRequest, textStatus) {
									// alert(XMLHttpRequest.responseText);
												 if(ajaxnum>1){
														ajaxnum=ajaxnum-1;
														
													}
													if(ajaxnum==1){
														try{
															HiddenDiv();
														}catch(e){}
													}
										
						
					},
					success : function(response,textStatus) {
						if(ajaxnum>1){
							ajaxnum=ajaxnum-1;
						}
						if(ajaxnum==1){
							try{
								HiddenDiv();
								ajaxnum=0;
							}catch(e){}
						}
						
						
						if(textStatus==500){
							
							showMessage(response.responseText);
						}else{
							if(response.resultcode=='0'){
								call_(response);
								
								checkPermission(response);
							}else if(response.resultcode=='199002'){
								
								deleteCookie('sessionId');
								window.location.href=contextPath+"/common/login/himindex.html"; 
								
								showMessage(response.resultmsg);
							}else if(response.resultcode=='100033'){
								
								deleteCookie('sessionId');
								window.location.href=contextPath+"/common/login/himindex.html"; 
								
								showMessage(response.resultmsg);
							}else if(response.resultcode=='199001'){
								
								deleteCookie('sessionId');
								window.location.href=contextPath+"/common/login/himindex.html"; 
								
								showMessage(response.resultmsg);
							}else{
								showMessage(response.resultmsg);
							}
						}
					},
					error:function(XMLHttpRequest, textStatus, errorThrown){
						
						if(ajaxnum>1){
							ajaxnum=ajaxnum-1;
						}
						if(ajaxnum==1){
							try{
								HiddenDiv();
								ajaxnum=0;
							}catch(e){}
						}
					
					if (XMLHttpRequest.status==401){
						deleteCookie('sessionId');
						if(ajaxnum>1){
							ajaxnum=ajaxnum-1;
						}
						if(ajaxnum==1){
							try{
								HiddenDiv();
								ajaxnum=0;
							}catch(e){}
						}
						window.location.href=contextPath+"/common/login/himindex.html"; 
						
						showMessage("session已过期，请重新登录");
					}else{
						
					showMessage(XMLHttpRequest.responseText);
						
					}
					}
				});	
		 
		 }
		 
		//获取表单数据，组成json串
		 function getInputData(id){
		 	var data = "{";
		 	$("#"+id+ " input").each(function(){
		 		if($(this).attr("name")){
		 	data += "\""+$(this).attr("name")+"\":\""+$(this).val()+"\",";
		 		}
		 	});
		 	data = data.substr(0,data.length -1 );
		 	data += "}";
		 	return data;
		 	}
		//前端分页
		 function getPageList(nodeArray,pageno,pagesize){
		 	var tempArray=new Array();
		 	for(var i=0;i<nodeArray.length;i++){
		 		if(i>=(pageno-1)*pagesize && i<pageno*pagesize){
		 			tempArray.push(nodeArray[i]);
		 			
		 		}
		 	}
		 	return tempArray;
		 }
		 //重置alert
		 function moda(str,callback){
			$(document.body).append(
				"<div id='modaAlert' style='display: none; position: fixed;top:0;lef:0; width: 100%; height: 100%; background: rgba(0,0,0,0.3); z-index: 9999999;'><div style='width:70%;margin: 50% 0 0 15%; height:100px; background:#fff;border-radius: 5px;'><p style='width: 100%; line-height: 60px; text-align: center; font-size:16px; color:#444'>"+str+"</p><p id='modaf' style='width: 100%; line-height: 39px;text-align: center; border-top: 1px solid #ccc; color:#1858b5;'>确定</p></div></div>"
			);
			$('#modaAlert').css('display','block');
			$("#modaf").click(function(){
				$("#modaAlert").css('display','none');
				if(callback){
					callback();
				}
				
			})
			
		}